Communication methods and systems for nonlinear multi-user environments

ABSTRACT

An electronic receiver comprises a nonlinear distortion modeling circuit and a nonlinear distortion compensation circuit. The nonlinear distortion modeling circuit is operable to determine a plurality of sets of nonlinear distortion model parameter values, where each of the sets of nonlinear distortion model parameter values representing nonlinear distortion experienced by signals received by the electronic receiver from a respective one a plurality of communication partners. The nonlinear distortion compensation circuit is operable to use the sets of nonlinear distortion model parameter values for processing of signals from the plurality of communication partners. Each of the sets of nonlinear distortion model parameter values may comprises a plurality of values corresponding to a plurality of signal powers. The sets of nonlinear distortion model parameters may be stored in a lookup table indexed by a signal strength parameter.

PRIORITY CLAIM

This application is a continuation of U.S. patent application Ser. No. 14/600,310 titled “Communication Methods and Systems for Nonlinear Multi-user Environments” filed on Jan. 15, 2015, which claims priority to U.S. provisional patent application 61/929,679 titled “Communication Methods and Systems for Nonlinear Multi-user Environments” filed on Jan 21, 2014. Each of the above referenced documents is hereby incorporated herein by reference in its entirety.

INCORPORATION BY REFERENCE

The entirety of each of the following applications is hereby incorporated herein by reference:

U.S. patent application Ser. No. 14/481,108 titled “Adaptive Nonlinear Model Learning” filed on Sep. 9, 2014.

BACKGROUND

Conventional communication methods and systems suffer severe performance degradation in the presence of nonlinear distortion. Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.

BRIEF SUMMARY OF THE INVENTION

Systems and methods are provided for communications in nonlinear multi-user environments, substantially as shown in and/or described in connection with at least one of the figures, as set forth more completely in the claims.

These and other advantages, aspects and novel features of the present invention, as well as details of an illustrated embodiment thereof, will be more fully understood from the following description and drawings.

BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS

FIGS. 1A and 1B depict two example configurations of a cable television/DOCSIS network in which adaptive nonlinear distortion models are used for improving communication performance.

FIGS. 2A and 2B depict a direct broadcast satellite (DBS) network in which adaptive nonlinear distortion models are used for improving communication performance.

FIG. 3A depicts components of an example receiver for single-carrier communications in which adaptive nonlinear distortion models are used for improving communication performance.

FIG. 3B depicts components of an example receiver for orthogonal frequency division multiplexed (OFDM) communications in which adaptive nonlinear distortion models are used for improving communication performance.

FIG. 4 depicts components of an example receiver operable to perform mutual sequence estimation of multiple concurrent streams using an adaptive nonlinear distortion model.

FIG. 5 is a flowchart illustrating an example process for determining nonlinear distortion model parameter values for a plurality of signal sources.

FIG. 6 is a flowchart illustrating an example process for handling nonlinear distortion in a multiuser environment.

FIG. 7 depicts look-up tables of nonlinear distortion model parameter values.

FIG. 8 depicts a look-up table of nonlinear distortion model parameter values.

DETAILED DESCRIPTION OF THE INVENTION

As utilized herein the terms “circuits” and “circuitry” refer to physical electronic components (i.e. hardware) and any software and/or firmware (“code”) which may configure the hardware, be executed by the hardware, and or otherwise be associated with the hardware. As used herein, for example, a particular processor and memory may comprise a first “circuit” when executing a first one or more lines of code and may comprise a second “circuit” when executing a second one or more lines of code. As utilized herein, “and/or” means any one or more of the items in the list joined by “and/or”. As an example, “x and/or y” means any element of the three-element set {(x), (y), (x, y)}. In other words, “x and/or y” means “one or both of x and y”. As another example, “x, y, and/or z” means any element of the seven-element set {(x), (y), (z), (x, y), (x, z), (y, z), (x, y, z)}. In other words, “x, y and/or z” means “one or more of x, y and z”. As utilized herein, the term “exemplary” means serving as a non-limiting example, instance, or illustration. As utilized herein, the terms “e.g.,” and “for example” set off lists of one or more non-limiting examples, instances, or illustrations. As utilized herein, circuitry is “operable” to perform a function whenever the circuitry comprises the necessary hardware and code (if any is necessary) to perform the function, regardless of whether performance of the function is disabled or not enabled (e.g., by a user-configurable setting, factory trim, etc.).

FIGS. 1A and 1B depict two example configurations of a cable television/DOCSIS network in which adaptive nonlinear distortion models are used for improving communication performance. In each of FIGS. 1A and 1B there is shown a headend with cable modem termination system (CMTS) 100 comprising a transmitter 102 and a receiver 103; a hybrid fiber-coaxial (HFC) network comprising a fiber optical cable 115, a fiber node 106, coaxial cable 107, a repeater 108, a coaxial cable 109, a splitter 110, and coaxial cables 111A and 111B; a cable modem 112A comprising a receiver 114A and a transmitter 116A; and a cable modem 112B comprising a transmitter 116B and a receiver 114B.

Nonlinear distortion introduced by the transmitter 102 is expressed as NL1, nonlinear distortion introduced by receiver 103 is expressed as NL2, nonlinear distortion introduced by the fiber node 106 is expressed as NL3 (for simplicity of illustration the nonlinear distortion introduced by fiber node '06 is assumed to be symmetric, but such symmetry need not be the case), nonlinear distortion introduced by the repeater 108 is expressed as NL4 (for simplicity of illustration the nonlinear distortion introduced by repeater 108 is assumed to be symmetric, but such symmetry need not be the case), nonlinear distortion introduced by the splitter 110 is expressed as NL5 (for simplicity of illustration the nonlinear distortion introduced by splitter 110 is assumed to be symmetric, but such symmetry need not be the case), nonlinear distortion introduced by the receiver 114A is expressed as NL6, nonlinear distortion introduced by the transmitter 116A is expressed as NL7, nonlinear distortion introduced by the transmitter 116B is expressed as NL8, and nonlinear distortion introduced by the receiver 114B is expressed as NL9. For simplicity of illustration, the cables 115, 107, 109, 111A, and 111B are assumed to exhibit linear performance, but such need not be the case.

Each of the receivers 103, 114A, and 114B comprises a nonlinear distortion compensation circuit 104 and an adaptive nonlinear distortion modeling circuit 105. Each of the modeling circuits 105 uses one or more nonlinear distortion models to estimate/reproduce the nonlinear distortion experienced by the traffic received via its respective receiver. A nonlinear distortion model used by circuit 105 may have one or more parameters associated with it which may be used for adapting the nonlinear distortion model to the particular circumstances. For example, a nonlinear distortion model may have a parameter ρ representing the AM/AM distortion and a parameter φ representing the AM/PM distortion. The values of these parameters to be used for any particular sample of a received signal may depend on the power of the particular sample. Which value of these parameters should be used for any particular power level may adapt over time based on error between the actual nonlinear distortion experienced by samples of the received signal and the estimated/reproduced nonlinear distortion. Accordingly, the parameters values may, for example, be stored in a lookup table indexed by transmit-device identifier (e.g., MAC addresses).

In an example implementation, each of the circuits 105 may be operable to use a plurality of nonlinear distortion models at any given time. In such an implementation, the nonlinear distortion modeling circuit 105 may, for example, be operable to select from among the plurality of distortion models based on which model works best (results in least error between actual and estimated nonlinear distortion) for any given signal at any given time. Which model works best for a given received signal may, for example, depend on the device from which the signal was received. Accordingly, nonlinear distortion model parameter values may, for example, be stored in a lookup table indexed by transmit-device identifier (e.g., MAC addresses of transmitters 116A and 116B).

For example, referring to FIG. 7, where both amplitude and phase distortion depend on instantaneous signal power, a combined AM/AM and AM/PM type distortion model may be used. Such a distortion model may be characterized by a signal power parameter, one or more AM/AM distortion parameters, and one or more AM/PM distortion parameters. Such a distortion model may be realized by, for example, two look-up tables (LUTs) 702 and 712 were the first LUT 702 maps a value of the signal power parameter to corresponding value(s) of the one or more AM/AM distortion parameter(s), and the second LUT 712 maps a value of the signal power parameter to corresponding value(s) of the one or more AM/PM distortion parameters. The lookup tables 702 and 712 thus hold a set of nonlinear distortion parameter values for a particular signal source (e.g., the tables 702 and 712 may reside in CMTS 100 and store parameter values for cable modem 112A). Although an example implementation using two separate LUTs is described here, the combined AM/AM and AM/PM may be realized using a single LUT that maps a signal power parameter to a complex valued representing both the AM/AM distortion parameter and the AM/PM distortion parameter.

Using the polar representation of a complex variable x:

x=|x|·

,   (1)

where |x| stands for the absolute value (magnitude) of x and

(x) denotes the angle of x. The received distorted signal, y, resulting from transmitted signal x can be represented as (omitting time dependence for simplicity of notation (i.e., x=x(t), y=y(t))):

y=ρ(|x| ²)·|x|·

,   (2)

where ρ(|x|²) and φ(|x|1 ²) represent the AM/AM and AM/PM distortion functions, respectively. In case that the nonlinear distortion is very small, y≅x and consequently ρ(|x|²)≈1, φ(|x|²)≈0 for any x.

A reproduction or estimate of a received distorted signal (denoted ŷ) resulting from a transmitted signal x can be represented as:

ŷ={circumflex over (ρ)}(|{circumflex over (x)}| ²)·

  (3)

where {circumflex over (x)} denotes an estimate of the transmitted signal prior to applying the nonlinear distortion model, {circumflex over (ρ)} (|{circumflex over (x)}|²) and {circumflex over (φ)} (|{circumflex over (x)}|²) represent the estimations of ρ(|x|²) and φ(|x|²) generated by the nonlinear distortion modeling circuit 105. The combined AM/AM and AM/PM type distortion model may thus be characterized by the signal power parameter |{circumflex over (x)}|², the AM/AM parameter {circumflex over (ρ)} (|{circumflex over (x)}|²), and the AM/PM parameter {circumflex over (φ)} (|{circumflex over (x)}|²). Referring to FIG. 7, each entry k (for 0≦k≦K) of the first LUT 702 holds: (1) a specific signal power 704 _(k), and (2) the value of {circumflex over (ρ)} (|{circumflex over (x)}|²) (called out as 706 _(k)) that corresponds to the specific signal power 704 _(k). Similarly, each entry k of the second LUT 712 holds: (1) the specific signal power 704 _(k), and (2) the value of {circumflex over (φ)} (|{circumflex over (x)}|²) (called out as ⁷¹ 6 _(k)) corresponding to the specific signal power 704 _(k). For example, denoting the specific signal power for entry k=0 as |{circumflex over (x)}₀|², entry 0 of the first LUT may store |

² and {circumflex over (ρ)} (|{circumflex over (x)}₀|²) and the second LUT may store |{circumflex over (x)}₀|² and {circumflex over (φ)} (|{circumflex over (x)}₀|²). In another example implementation, a signal power parameter other than |{circumflex over (x)}|² may be used and values thereof stored in fields 704 ₀ . . . 704 _(K) of LUT 702 and fields 704 ₀ . . . 704 _(K) of LUT 712. Such alternative signal power parameter may be, for example, a function of the signal level and/or phase such as delayed signal power level (such as delayed AM/PM), a function of signal power at other time instances (to support a nonlinear distortion model with memory), or a filtered (convolution) of signal instantaneous power samples.

Although FIG. 7 shows indexing parameter (the power parameter in the examples) as being stored in the lookup table, in another example implementation, the indexing parameter may not actually be stored but may simply be calculated and then mathematically and/or logically (e.g., through a hashing function) mapped to the memory address that holds the corresponding distortion parameter. An example of this is shown in FIG. 8 in which address generator maps values pf |{circumflex over (x)}|² to the address in which the corresponding distortion parameter is stored.

In another example implementation, a single distortion parameter accounting for both AM/AM and AM/PM may be stored in the lookup table. In this regard, representing the reproduction or estimate of the received distorted signal as

ŷ={circumflex over (x)}·{circumflex over (ρ)}(|{circumflex over (x)}| ²)·e ^(j{circumflex over (φ)}(|{circumflex over (x)}|) ² ⁾,   (4)

then {circumflex over (ρ)} (|{circumflex over (x)}|²)·e^(j{circumflex over (φ)} (|{circumflex over (x)}|) ² ⁾ can be stored as a single distortion parameter, as is shown in FIG. 8.

Returning to FIGS. 1A and 1B, modeling circuit 105 in receiver 114A attempts to estimate/reproduce the composite nonlinear distortion resulting from NL1, NL3, NL4, NL5, and NL6 that is seen by communications from the headend 100 to the receiver 114A.

In FIGS. 1A and 1B, modeling circuit 105 in receiver 114B attempts to estimate/reproduce the composite nonlinear distortion resulting from NL1, NL3, NL4, NL5, and NL9 that is seen by communications from the headend 100 to the receiver 114B.

In FIG. 1A, modeling circuit 105 in receiver 103 attempts to estimate/reproduce the composite nonlinear distortion resulting from NL2, NL3, NL4, and NL5—the nonlinearities which are common to traffic from the transmitter 116A and the transmitter 116B. In this configuration, although communications from TX 116A also experience NL7, and communications from TX 116B also experience NL8, NL7 and NL8 are ignored for purposes of simplifying nonlinear distortion estimation and compensation in the receiver 103.

In another example implementation, NL7 and NL8 may be very similar. This may be the case, for example, where cable modems 112A and 112B are the same make and model using the same power amplifier. In such an implementation, the nonlinearities may be expressed as NL7≅NL8≅NL7′, and the adaptive nonlinear distortion modeling circuit 105 of receiver 104 may attempt to estimate/reproduce the composite nonlinear distortion resulting from NL1, N12, NL3, NL4, NL5, and NL7′. In another example, NL7′ may be an average of NL7 and NL8 or may be the common terms (e.g., higher order terms) of NL7 and NL8, when NL7 and NL8 are expressed as polynomials.

In another example implementation, shown in FIG. 1B, the receiver 103 comprises multiple instances of circuit 105, with each instance of circuit 105 using a different sets of parameter values such that NL2, NL3, NL4, NLS, and NL7 are accounted for when receiving from TX 116A and NL2, NL3, NL4, NLS, and NL8 are accounted for when receiving from TX 116B. (It is noted that, although multiple instances of circuit 105 are shown for clarity of illustration, in practice it may be that a single instance of circuit 105 is operable to maintain multiple sets of parameter values.) As a non-limiting example: each of two instances of circuit 105 in receiver 103 use a nonlinear distortion model having parameter ρ, but the first instance of circuit 105 uses a first set of values for p, and the second instance of circuit 105 uses a second set of values for p. As another non-limiting example: there are two instances of circuit 105 and the first instance of circuit 105 uses a nonlinear distortion model having parameters ρ and φ, and the second instance of circuit 105 uses a nonlinear distortion model having parameters C1, C2, and C3. Thus, the first instance maintains a set of values for ρ and φ while the second instance of circuit 105 maintains a set of values of C1, C2, and C3. In this example implementation, the nonlinear distortion modeling circuit 105 of receiver 103 may be operable to select between the two sets of parameter values to choose the set of values that best estimates/reproduces the actual nonlinear distortion at any given time and for any given received signal.

In a network in which bandwidth is allocated by a central controller (e.g., by the CMTS in the DOCSIS network of FIGS. 1A and 1B or, as another example, by the network controller of a multimedia over coaxial alliance (MoCA) network), this switching may be enabled by the fact that the controller manages allocation of upstream bandwidth and thus knows which end systems are going to be transmitting at which times, and can load the appropriate set of parameter values accordingly.

In a network in which bandwidth is not managed by a central controller and, thus the source of a transmission is not known ahead of time, switching between sets of nonlinear distortion model parameter values may be done based on inspection of received transmissions. For example, each of the end-systems may send a unique identifier as part of a preamble. The identifier may be modulated and/or coded such that it can be reliably demodulated/decoded without aid of the NL compensation circuit 104 in the receiver 103. Upon identifying the source, the corresponding set of parameter values (which was previously determined) may be selected and NL compensation circuit 104 may use the selected parameter values for receiving the remainder of the transmission. The set of parameter values of the identified source may have been determined, for example, when the device was admitted to the network and/or during a training/update interval (e.g., triggered upon a change to the device or the network). For example, upon a device being admitted to the network probe/training signals may be used to estimate the set of nonlinearity model parameter values for that particular device.

In another example implementation, the nonlinearity for any particular device may not be stored but may be estimated anew each time a burst is received from the particular device. For example, each burst may carry a preamble whose signal characteristics are well suited for estimating the nonlinearity of the particular device.

For an OFDM system (e.g., DOCSIS 3.1) different subcarriers of any particular OFDM symbol may comprise transmissions from different end systems. Accordingly, selection of nonlinear distortion parameter values (i.e. selection between different nonlinear distortion models and/or selection between parameter values for a particular nonlinear distortion model) may be performed on a per-subcarrier (or per-group-of-subcarriers) basis and per-OFDM-symbol basis. In an example implementation, the parameters values used for any particular end system may be updated only on OFDM symbols carrying transmissions for that particular end system.

In an example implementation, each device in a network may, during initial connection setup as part of a handshaking routine to admit that device to the network (e.g., ranging, auto-negotiation, and/or the like), transmit a characterization of the nonlinear distortion introduced by its transmitter (e.g., a previously generated set of nonlinear model parameter values). For example, in FIG. 1A and 1B, each of transmitter 102, fiber node 106, repeater 108, splitter 110, transmitter 116 a, and transmitter 114 b may transmit characterizations of the nonlinear distortion they introduce during connection setup.

In an example implementation, during a handshaking routine between a first device previously admitted to a network and a second device currently being admitted to the network (e.g., ranging, auto-negotiation, and/or the like), the first device may transmit training/probe signals which the second device can use to generate a set of nonlinear model parameter values to use for signals from the first device, and the second device may transmit training/probe signals which the first device can use to generate a set of nonlinear model parameter values to use for signals from the second device

In another example implementation, a database of the devices of the HFC network, along with characterizations of the nonlinear distortion they introduce, may be maintained and accessible by devices connected to the HFC network. For example, upon installation, the cable modems 112A may query such a database to learn that it will be communicating with CMTS 100 via splitter 110, repeater 108, and fiber node 106. It may then retrieve NL1, NL3, NL4, and NL5 from the database.

FIGS. 2A and 2B depict a direct broadcast satellite (DBS) network in which adaptive nonlinear distortion models are used for improving communication performance. Shown are satellite 202, two outdoor units (ODUs) 208A and 208B and their corresponding indoor units (IDUs) 214A and 214B. The ODU 208A comprises receiver 204A and transmitter 206A. The IDU 214A comprises receiver 210A. The ODU 208B comprises receiver 204B and transmitter 206B. The IDU 214B comprises receiver 210B.

Nonlinear distortion introduced by the satellite 202 is expressed as NL10. Nonlinear distortion introduced by receiver 204A is expressed as NL11. Nonlinear distortion introduced by transmitter 206A is expressed as NL12. Nonlinear distortion introduced by receiver 210A is expressed as NL13. Nonlinear distortion introduced by receiver 204B is expressed as NL14. Nonlinear distortion introduced by transmitter 206B is expressed as NL15. Nonlinear distortion introduced by receiver 210B is expressed as NL16.

In FIGS. 2A and 2B, each of the receivers 204A and 204B comprises a nonlinear distortion compensation circuit 104 and an adaptive nonlinear distortion modeling circuit 105. Each of the nonlinear distortion modeling circuits 105 attempts to estimate/reproduce at least some of the nonlinear distortion experienced by the signals received by its respective receiver.

In FIG. 2A, the outdoor units 208A and 208B demodulate and decode the signals from the satellite 202 and then retransmit the demodulated and decoded data to receivers 210A and 210B. In FIG. 2B, the outdoor units 208A and 208B simply downconvert the signals from the satellite 202 and then relay the signals to the respective receivers 210A and 210B.

In FIG. 2A, nonlinear distortion modeling circuit 105 in receiver 204A attempts estimate/reproduce the composite nonlinear distortion resulting from NL10 and NL11 that is seen by communications from the satellite 202 to the receiver 204A.

In FIG. 2A, nonlinear distortion modeling circuit 105 in receiver 210A attempts to estimate/reproduce the composite nonlinear distortion resulting from NL12 and NL13 that is seen by communications from the ODU 208A to the receiver 210A.

In FIG. 2A, nonlinear distortion modeling circuit 105 in receiver 204B attempts to estimate/reproduce the composite nonlinear distortion resulting from NL10 and NL14 that is seen by communications from the satellite 202 to the receiver 204B.

In FIG. 2A, nonlinear distortion modeling circuit 105 in receiver 210B attempts to estimate/reproduce the composite nonlinear distortion resulting from NL15 and NL16 that is seen by communications from the ODU 208B to the receiver 210B.

In FIG. 2B, nonlinear distortion modeling circuit 105 in receiver 210A attempts to estimate/reproduce the composite nonlinear distortion resulting from NL10, NL11, NL12, and NL13 that is seen by communications from the satellite 202 to the receiver 210A.

In FIG. 2B, nonlinear distortion modeling circuit 105 in receiver 210B attempts to estimate/reproduce the composite nonlinear distortion resulting from NL10, NL14, NL15, and NL16 that is seen by communications from the satellite 202 to the receiver 210B.

In instances that the satellite 202 relays signals from a hub 250, the nonlinear distortion (represented as NL17) may also be accounted for in the nonlinear distortion modeling circuits 105 of the ODUs (FIG. 2A) or the IDUs (FIG. 2B).

FIG. 3A depicts components of an example receiver for single-carrier communications in which adaptive nonlinear distortion models are used for improving communication performance. Shown in FIG. 3A are an analog/RF front-end 302, a equalization/filtering circuit 304, a sequence estimation circuit 306, a decoding circuit 308 (e.g., FEC decoder), an adaptive nonlinear distortion modeling circuit 105, and a digital baseband processing circuit 322. The sequence estimation circuit 306 may perform functions of the nonlinear distortion compensation circuit 104

A signal strength indicator (S SI) circuit 310 may be implemented in the circuit 302, in the circuit 304, and/or in the circuit 306 and may output a signal 311 that is used to generate an indication 311 of the strength at which the received signal 301 was transmitted. In an example implementation, during the sequence estimation process performed by sequence estimation block 306, the SSI 310 may determine instantaneous transmit power for each sequence that is a candidate for being the transmitted symbol sequence that resulted in the received signal. That is, each candidate sequence is a known sequence from a known constellation and thus the instantaneous transmit power of the candidate at each symbol time is known. The instantaneous transmit power for a particular one or more candidates may be output as indication 311. Then, the instantaneous power for each particular candidate may be used for applying the nonlinear model to that particular candidate.

In an example implementation, the indication 311 may be used by the adaptive nonlinear distortion modeling circuit 105 to select which nonlinear distortion model parameter values to use for a particular candidate sequence. This may include, for example, selecting from among a plurality of sets of nonlinear distortion model parameter values maintained by the nonlinear distortion modeling circuit 105.

In an example implementation, the indication 311 may be used by sequence estimation circuit 306 to weight branch metrics and/or log-likelihood ratios generated in the sequence estimation circuit 306. Samples having very high signal strength may suffer from high nonlinear distortion which may not be accurately estimated/reproduced by circuit 105. Accordingly, branch metrics and/or log-likelihood ratios for such samples may be given less weight than other samples having moderate signal strength. Similarly, samples having very low signal strength may be very noisy. Accordingly, branch metrics and/or log-likelihood ratios for such samples may be given less weight than other samples having moderate signal strength.

The SSI 310 may be operable to measure signal strength over a band of frequencies that is wider than the desired channel. Information about signal strength on adjacent channels may be used to determine likely nonlinear distortion (e.g., nonlinear distortion may cause signals on the desired channel to spill over into adjacent channels) and/or interference on the desired channel and, accordingly, used for weighting branch metrics and/or log-likelihood ratios.

A source identification circuit 320 may be implemented as dedicated circuitry near the front-end of the receiver and/or in the digital baseband processing circuit 322. The source identification circuit 320 is operable to determine the source of a received signal and output an indication 321 of the identity of the determined source (e.g., indication 321 may be an IP address, MAC address, make and model number, and/or the like). The indication 321 may be used by the nonlinear distortion modeling circuit 105 to select which nonlinear distortion model parameter values to use for demodulating and decoding the signal from the determined source.

FIG. 3B depicts components of an example receiver for orthogonal frequency division multiplexed (OFDM) communications in which adaptive nonlinear distortion models are used for improving communication performance.

In the OFDM receiver of FIG. 3B, there is an SSI 310 as in FIG. 3A. Additionally, or alternatively, there may be an SSI 366 which may be operable to generate a per-OFDM subcarrier (or per-group-of-OFDM subcarriers) indication of transmitted signal strength. The signal strength indication(s) 311 from the SSI 310 and/or SSI 366 may be used by the sequence estimation circuit 360 to weight branch metrics and/or log-likelihood ratios similar to as described above with reference to FIG. 3A. In an example implementation, the signal strength indications(s) 311 from the SSI 310 and/or RSSI 366 may be used by the nonlinear distortion modeling circuit 105 to select which nonlinear distortion model parameter values to use for demodulating and decoding the subcarrier(s) corresponding to the signal strength indication.

In the OFDM receiver of FIG. 3B, there is a source identification circuit 320 as in FIG. 3A. The source identifiers 321 from the source identification circuit 320 may be used by the nonlinear distortion modeling circuit 105 to select which nonlinear distortion model parameter values to use for demodulating and decoding the subcarrier(s) from the identified source(s).

FIG. 4 depicts components of an example receiver operable to perform mutual sequence estimation of multiple concurrent streams using an adaptive nonlinear distortion model. Shown in FIG. 4 are a sequence estimation circuit 402 which is operable to jointly estimate N symbol streams. Each of the symbol streams 401 ₁-401 _(N) (N is an integer) may experience the same nonlinear distortion en route to the sequence estimation circuit. Since each of the N streams experience the same nonlinear distortion, more streams may provide more information for adapting the nonlinear distortion model. As a result, the nonlinear distortion model may more accurately estimate/reproduce the actual nonlinear distortion experienced by the received streams, as compared to a single stream. Estimated symbols of each of M streams (M an integer less than or equal to N) output by sequence estimation circuit may be conveyed to a corresponding one of decoders 404 ₁-404 _(M).

FIG. 5 is a flowchart illustrating an example process for determining nonlinear distortion model parameter values for a plurality of signal sources. In block 502, a receiver (e.g., 103) receives a signal from a signal source (e.g., transmitter 116 a). In block 504, the receiver determines (e.g., using an adaptation/training algorithm) a set of nonlinear distortion model parameters using the received signal. In block 506, the receiver determines an identifier (e.g. MAC address) of the source of the received signal. In block 508, the receiver stores the determined set of nonlinear distortion model parameters to memory, and associates them in memory with the determined identifier.

FIG. 6 is a flowchart illustrating an example process for handling nonlinear distortion in a multiuser environment. In block 602, a receiver (e.g., 103) receives a signal from a signal source (e.g., transmitter 116 a). In block 604, the receiver determines an identifier (e.g., MAC address or unique physical layer signaling signature) for the source of the signal. In block 606, the receiver generates an indication of transmitted signal strength for a sample of the received signal. In block 608, the receiver selects nonlinear distortion model parameter values based on the determined identifier and based on the strength indication for the sample. In block 610, the receiver processes the sample using the selected nonlinear distortion model parameter values.

In accordance with an example implementation of this disclosure, an electronic receiver (e.g., 103) comprises a nonlinear distortion modeling circuit (e.g., 105) and a nonlinear distortion compensation circuit (e.g., 104). The nonlinear distortion modeling circuit is operable to determine a plurality of sets of nonlinear distortion model parameter values, where each of the sets of nonlinear distortion model parameter values representing nonlinear distortion experienced by signals received by the electronic receiver from a respective one a plurality of communication partners. The nonlinear distortion compensation circuit is operable to use the sets of nonlinear distortion model parameter values for processing of signals from the plurality of communication partners. Each of the sets of nonlinear distortion model parameter values may comprise a plurality of values (e.g., 706) corresponding to a plurality of signal powers. The sets of nonlinear distortion model parameters may be stored in a lookup table (e.g., 702) indexed by a signal strength parameter (e.g., 704). The electronic receiver may comprise a received signal strength indicator circuit (e.g., 310) operable to generate an indication of transmitted signal strength for the received signal. The nonlinear distortion modeling circuit may be operable to select an entry of the lookup table based on the indication of transmitted signal strength. The sets of nonlinear distortion model parameters may be stored in a lookup table indexed by an identifier of signal source (e.g., by MAC address). The electronic receiver may comprise a source identification circuit (e.g., 320) operable to identify which one of the communication partners transmitted the signal. The nonlinear distortion modeling circuit may be operable to select which of the sets of nonlinear distortion model parameters to use for processing of the received signal based on the identification by the source identification circuit.

Other embodiments of the invention may provide a non-transitory computer readable medium and/or storage medium, and/or a non-transitory machine readable medium and/or storage medium, having stored thereon, a machine code and/or a computer program having at least one code section executable by a machine and/or a computer, thereby causing the machine and/or computer to perform the processes as described herein.

Accordingly, the present invention may be realized in hardware, software, or a combination of hardware and software. The present invention may be realized in a centralized fashion in at least one computing system, or in a distributed fashion where different elements are spread across several interconnected computing systems. Any kind of computing system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software may be a general-purpose computing system with a program or other code that, when being loaded and executed, controls the computing system such that it carries out the methods described herein. Another typical implementation may comprise an application specific integrated circuit or chip.

While the present invention has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the present invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the present invention without departing from its scope. Therefore, it is intended that the present invention not be limited to the particular embodiment disclosed, but that the present invention will include all embodiments falling within the scope of the appended claims. 

What is claimed is:
 1. A system comprising: an electronic receiver comprising: a nonlinear distortion modeling circuit operable to determine a plurality of sets of nonlinear distortion model parameter values, each of said sets of nonlinear distortion model parameter values representing nonlinear distortion experienced by signals received by said electronic receiver from a respective one a plurality of communication partners; and a nonlinear distortion compensation circuit operable to use said sets of nonlinear distortion model parameter values for processing of signals from said plurality of communication partners.
 2. The system of claim 1, wherein each of said sets of nonlinear distortion model parameter values comprises a plurality of values corresponding to a plurality of signal powers.
 3. The system of claim 2, wherein said sets of nonlinear distortion model parameters are stored in a lookup table indexed by a signal strength parameter.
 4. The system of claim 3, wherein: said electronic receiver comprises a signal strength indicator circuit operable to generate an indication of transmitted signal strength of a received signal; and said nonlinear distortion modeling circuit is operable to select an entry of said lookup table for processing of said received signal based on said indication of transmitted signal strength of said received signal.
 5. The system of claim 1, wherein said sets of nonlinear distortion model parameters are stored in a lookup table indexed by an identifier of signal source.
 6. The system of claim 1, said electronic receiver comprises a source identification circuit operable to identify which one of said communication partners transmitted said signal.
 7. The system of claim 6, wherein said nonlinear distortion modeling circuit is operable to select which of said sets of nonlinear distortion model parameters to use for processing of said received signal based on said identification by said source identification circuit.
 8. The system of claim 1, wherein said nonlinear distortion modeling circuit is operable to: for each burst transmission received, determine which one of said sets of nonlinear distortion model parameter values to use for processing of said burst based on a preamble of said burst.
 9. The system of claim 1, wherein: each set of said plurality of sets of nonlinear distortion model parameter values corresponds to a respective one of a plurality of transmitters with which said electronic receiver communicates.
 10. The system of claim 9, wherein said nonlinear distortion modeling circuit is operable to determine one of said sets of nonlinear distortion model parameter values for a particular one of said transmitters based on training signals sent during admission of said particular one of said transmitters to a network.
 11. A system comprising: an electronic receiver configured to communicate with a first communication partner and a second communication partner, wherein said receiver comprises: nonlinear distortion modeling circuitry operable to: determine a first set of nonlinear distortion model parameter values that model nonlinear distortion present in signals from said first communication partner; and determine a second set of nonlinear distortion model parameter values that model nonlinear distortion present in signals from said second communication partner; and nonlinear distortion compensation circuitry operable to: use said first set of nonlinear distortion model parameter values for processing of signals received from said first communication partner; and use said second set of nonlinear distortion model parameter values for processing of signals received from said second communication partner.
 12. The system of claim 11, wherein said electronic receiver comprises source identification circuitry operable to generate an indication of whether a received signal originated from said first communication partner or said second partner.
 13. The system of claim 12 wherein: said nonlinear distortion modeling circuitry is operable to select between use of said first set of nonlinear distortion model parameter values and said second set of nonlinear distortion model parameter values for processing of said received signal; and said selection is based on said indication.
 14. The system of claim 11, wherein said electronic receiver comprises signal strength indicator circuitry operable to generate an indication of transmitted signal strength of a signal received from said first communication partner.
 15. The system of claim 14, wherein said nonlinear distortion modeling circuitry is operable to select between use of said first set of nonlinear distortion model parameter values and said second set of nonlinear distortion model parameter values for processing of said received signal; and said selection is based on said indication of transmitted signal strength.
 16. The system of claim 11, wherein said first set of nonlinear distortion model parameters values and said second set of nonlinear distortion model parameters are stored in one or more lookup tables in said electronic receiver.
 17. A method comprising: in an electronic receiver: determining, by a nonlinear distortion modeling circuit of said electronic receiver, a plurality of sets of nonlinear distortion model parameter values, each of said sets of nonlinear distortion model parameter values representing nonlinear distortion experienced by signals received by said electronic receiver from a respective one a plurality of communication partners; and processing, by a nonlinear distortion compensation circuit of said electronic receiver, signals from said plurality of communication partners using said sets of nonlinear distortion model parameter values.
 19. The method of claim 18, comprising storing said sets of nonlinear distortion model parameters in a lookup table of said electronic receiver, wherein said lookup table is indexed by a signal strength parameter.
 20. The method of claim 18, comprising storing said sets of nonlinear distortion model parameters in a lookup table of said electronic receiver, wherein said lookup table is indexed by an identifier of signal source. 